package com.itheima.huikebackend.mapper;

import com.github.pagehelper.Page;
import com.itheima.huikebackend.dto.CoursePageQueryDTO;
import com.itheima.huikebackend.entity.Course;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author Du leilei
 * @version 1.0
 * @Description
 * @createTime 2023年08月08日 17:35:00
 */
@Mapper
public interface CourseMapper {
    /**
     * 查询课程列表
     * @param coursePageQueryDTO
     * @return
     */
    Page<Course> page(CoursePageQueryDTO coursePageQueryDTO);

    /**
     * 添加课程
     * @param course
     */
    @Insert("insert into tb_course ( code, name, subject, price, applicable_person, info, create_time) values " +
            "(#{code},#{name},#{subject},#{price},#{applicablePerson},#{info},#{createTime})")
    void insert(Course course);

    /**
     * 删除课程
     * @param ids
     */
    void deleteById(Long[] ids);

    /**
     * 选择课程
     *
     * @param id id
     * @return {@link Course}
     */
    Course selectCourse(Long id);

    /**
     * 更新课程
     *
     * @param course 课程
     */
    void updateCourse(Course course);

    /**
     * listselect
     *
     * @param course 课程
     * @return {@link Course}
     */
    Course listselect(Course course);
}
